home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 / Aminet - June 1993 [Walnut Creek].iso / aminet / misc / edu / tcr060ea.run / Teacher.Manual < prev    next >
Encoding:
Text File  |  1992-09-04  |  67.7 KB  |  1,751 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.                                T E A C H E R
  25.  
  26.                      A Didactic Tool for your Computer
  27.  
  28.                        (C) 1991, 1992 by Paolo Gatti
  29.  
  30.                             All Rights Reserved
  31.  
  32.                     Version 0.60, released on 4-Sep-1992
  33.  
  34.  
  35.                                User's Manual
  36.  
  37. TEACHER                                                TABLE OF CONTENTS   2
  38.  
  39.                              TABLE OF CONTENTS
  40.  
  41. Introduction...............................................................3
  42.  
  43. How Teacher was developed; Acknowledgements................................5
  44.  
  45. How to register............................................................6
  46.  
  47. Basic Concepts............................................................11
  48.  
  49. Logical Blocks............................................................12
  50.       Linear Block........................................................13
  51.       Terminal Block......................................................13
  52.       Question Block......................................................14
  53.       Evaluation Block....................................................17
  54.  
  55. How to create a lesson....................................................18
  56.  
  57. Internal Commands.........................................................19
  58.  
  59. External Commands.........................................................21
  60.  
  61. The Log File..............................................................27
  62.  
  63. How to customize Teacher..................................................28
  64.  
  65. TCRComp: the Lesson Compiler..............................................29
  66.  
  67. Error Messages............................................................32
  68.  
  69. Conclusion................................................................37
  70.  
  71. Index.....................................................................38
  72.  
  73. TEACHER                                                     INTRODUCTION   3
  74.  
  75.                                 INTRODUCTION
  76.  
  77. Teacher  is  a  didactic  program  which can be used to teach lessons and to
  78. evaluate  the  performance of the student.  At the moment, it's available on
  79. Amiga  and  Msdos  computers,  in  Italian and in English.  Teacher does not
  80. claim to replace human teachers, but it can add some interesting features to
  81. the  traditional  way  of  teaching.   It  can  be used at school to examine
  82. students:   in  this  case,  it  can  provide an objective evaluation of the
  83. student's  skills according to the answers he gives.  It can also be used at
  84. home, if the student owns a computer, as a self-test.
  85.  
  86. Teacher has many advantages: here are some of them.
  87.  
  88. Advantages over the "typical" private lesson:
  89.  
  90. -The student who owns a computer and a copy of Teacher can study whenever he
  91. likes and as long as he likes.
  92.  
  93. -The  student can suspend the lesson, start again from the beginning or from
  94. anywhere in the lesson he likes...  as the teacher is a computer, it is very
  95. patient and never gets angry.
  96.  
  97. -Teacher is definitely cheaper.
  98.  
  99. -At the end of the lesson, the student knows exactly how good - or bad - his
  100. knowledge of the subject is.
  101.  
  102.  
  103. Advantages over the "typical" oral test:
  104.  
  105. -A  great  number  of  students  (one  for  each  available computer) can be
  106. examined at the same time.
  107.  
  108. -Everything  the student answers can be permanently memorized on a diskette,
  109. and the teacher can, after the test, look again at the answers given.
  110.  
  111. -Nothing  is  made up on the spur of the moment:  every question is balanced
  112. and logical.
  113.  
  114. -Teacher is a fair judge:  all the students answer to the same questions and
  115. face  the  same difficulties; luck and partiality do not influence the final
  116. outcome.
  117.  
  118. -The  final  evaluation  is  error-free:   the mark the student gets depends
  119. exclusively on the answers he gives (correct, incorrect, partially correct),
  120. on  the  difficulty  of  the  questions and on the skill required to discard
  121. wrong answers.
  122.  
  123. -The student immediately knows, if he makes a mistake, what he did wrong and
  124. why:   during  oral  tests,  very often, there is not enough time to analyse
  125. deeply each answer.
  126. TEACHER                                                     INTRODUCTION   4
  127.  
  128. Advantages over the "typical" written test:
  129.  
  130. -Teacher is flexible:  according to the student's answers, it is possible to
  131. alter  the  following  questions.  For instance, if the student makes a very
  132. serious  mistake,  it  is  possible  to  ask  him more questions on the same
  133. subject.
  134.  
  135. -Teacher  is  colloquial:   the  student  knows  instantly  if  he  answered
  136. correctly or not.
  137.  
  138. -The  student  does  not have to wait to know the mark he deserved:  Teacher
  139. can calculate it in a fraction of second.
  140.  
  141. -Sometimes,  deceitful students manage to read the test before they take the
  142. exam...  Teacher makes this nearly impossible, as it can encrypt the lessons
  143. so that only who knows the correct password can read the test.
  144. TEACHER                                                 ACKNOWLEDGEMENTS   5
  145.  
  146.                 HOW TEACHER WAS DEVELOPED; ACKNOWLEDGEMENTS
  147.  
  148. I  began  writing  Teacher  in November 1990, when my teacher of History and
  149. Philosophy, Piero Carelli, suggested I wrote a series of questions on German
  150. Idealism.  During the following months, thanks to the numerous beta-testers,
  151. Teacher gradually grew up to its current size.  The program was written in C
  152. language, and the Amiga version was compiled with Aztec C compiler V5.0d-1.
  153.  
  154. I  must thank all the people who helped me to develop Teacher by testing the
  155. various versions of the program and giving me useful suggestions:
  156.  
  157. Piero Carelli - for the idea & a very deep beta-testing;
  158.  
  159. Giovan Battista Nichetti - for his suggestions;
  160.  
  161. The vice-principal of my school - for letting me use the computer room;
  162.  
  163. Ascanio Orlandini
  164. Mario Pacchiarotti
  165. Enrico Cima
  166. Piergiorgio Ghezzo
  167. and all my friends of FidoNet and AmigaNet- for technical advice;
  168.  
  169. Marco Bissa
  170. Fabio Brassini
  171. Elena Danzi
  172. Matteo Maretti
  173. Silvia Provezza
  174. and the other students of my class - they didn't kill me when I "forced"
  175.                                      them to test the program! 8->
  176.  
  177. Manx - for the compiler;
  178.  
  179. Commodore Amiga, Inc. - for creating Amiga, of course!
  180.  
  181. TEACHER                                                  HOW TO REGISTER   6
  182.  
  183.                               HOW TO REGISTER
  184.                             * READ  CAREFULLY *
  185.  
  186. Teacher  is  NOT  free.  It is NOT a Public Domain program, nor will it ever
  187. be.  The author reserves all rights on the program.
  188.  
  189. I  chose  to distribute Teacher as a Shareware program, as I think Shareware
  190. is advantageous for both the programmer and the user.
  191. The  evaluation  version of Teacher is freely redistributable, as long as it
  192. remains  in  its  integral  form:  that is, you cannot distribute partial or
  193. modified  versions.  It is forbidden to the distributor to charge fees which
  194. exceed the costs of shipping&handling.
  195. It  is  also forbidden to modify, disassemble, decompile or reverse engineer
  196. the  program  in  any way, and to include parts of Teacher in other software
  197. packages without the written permission of the author.
  198. Users  are granted a limited evaluation license, which allows them to test a
  199. limited  version  of  Teacher  for one month.  After a month, if you are not
  200. interested  in  Teacher  you must destroy all the copies of Teacher you own;
  201. otherwise,  you have to register.  Registered users will receive by mail the
  202. most  recent version of Teacher, together with a KeyFile which allows you to
  203. use Teacher up to its full potential.  Registered users can still distribute
  204. evaluation   copies   of  Teacher,  but  must  not  distribute  the  keyfile
  205. "Teacher.Reg".
  206.  
  207. Somebody may ask, "Why should I register?". There are three good reasons.
  208.  
  209. 1) You will sleep better, and you will not bear a burden on your conscience.
  210. 2) Only registered users can use all of the features of Teacher.
  211. 3) If  you  register  you  encourage  the  author  to develop new and better
  212.    versions  of Teacher, and registered users do not have to pay anything to
  213.    use these new versions.
  214.  
  215.  
  216.                               HOW TO REGISTER
  217.  
  218. You just have to fill the form on page 8 and send it to
  219.  
  220.                             Teacher Development
  221.                               c/o Paolo Gatti
  222.                                via Boldori 17
  223.                               26013 CREMA (CR)
  224.                                    ITALY
  225.                            (Tel. +39-373-201617)
  226.  
  227. together  with the photocopy of the receipt of a postal money order, or with
  228. a cheque in Italian Lire drawn on an Italian bank, non-transferable and made
  229. out  to  "Paolo  Gatti".  Your local bank or post office can suggest you the
  230. most convenient way. Beware - only the Author can grant licenses.
  231.  
  232. Registration to one copy of Teacher costs 20000 LIT. (less than 20 US$).
  233.  
  234.  
  235. TEACHER                                                  HOW TO REGISTER   7
  236.  
  237. If  you  wish to make a multiple registration, that is, if two or more users
  238. want  to  make an order together, each user must fill and sign a copy of the
  239. form.  I WILL NOT ACCEPT NON-SIGNED REQUESTS.  If you are not of age, one of
  240. your  parents must sign.  If you order more than 10 copies to be sent to the
  241. same  address,  there  is  a discount:  the copies ABOVE #10 only cost 15000
  242. LIT.   If  you  order  at  least 10 copies, you may ask for a single "Master
  243. Disk"  containing  all  the KeyFiles; in this case, the duplication is up to
  244. you, but each copy costs 10000 LIT.
  245.  
  246. Add  3000  LIT  per  disk  for an Express delivery, and 5000 LIT per package
  247. (just  once  if  the  disks must be sent all together) if you want me to use
  248. registered mail.
  249.  
  250. For  instance,  if  a school wants to order 8 copies of Teacher, the cost is
  251. 8*20000  =  160000  LIT.  25 copies sent to the same address cost 10*20000 +
  252. 15*15000 = 425000 LIT.  A Master Disk with 25 Keyfiles costs 250000 LIT.
  253.  
  254. As I said, the evaluation version is freely redistributable; however, if you
  255. can't  find  it  anywhere,  you  can  get  it  from the author for 10000 LIT
  256. (registration excluded).
  257.  
  258. Registered  users  can  use  Teacher  to  READ  a lesson; if you want to use
  259. TCRComp,  the  syntax  controller (see later), and if you want to create new
  260. lessons you must also register to TCRComp.  Registration costs 10000 LIT per
  261. copy  plus  20000 LIT per author; it is possible for many authors to use the
  262. same  copy,  provided  only  one  author at a time uses it.  Registration to
  263. a copy of TCRComp includes a free registration to one copy of Teacher.
  264.  
  265. For  instance,  if  three teachers want to use TCRComp on the same computer,
  266. they  have  to pay 70000 LIT; if each of them wanted to use it on a separate
  267. computer, the price would grow to 3*30000 = 90000 LIT.
  268.  
  269. It  is  possible  to  upgrade registrations to TCRComp:  if a fourth teacher
  270. wanted to use the same copy of Teacher, he would only have to pay 20000 LIT;
  271. he  would  receive a new Keyfile to replace the old one.  Note that once you
  272. receive a new Keyfile you must delete the old one.
  273.  
  274.  
  275. Registered users have few restrictions:
  276.  
  277. - The licence CANNOT be sold, transferred or let without permission from the
  278. author;
  279.  
  280. - The KeyFile CANNOT be distributed;
  281.  
  282. -  A  single  licence  allows you to use Teacher on a single computer at any
  283. time;  that  means  that  if  you  are a registered user you can use Teacher
  284. yourself  on  any computer you wish, and you can also lend it to others; but
  285. you  CANNOT  run  at the same time two copies of Teacher, unless you own two
  286. licences.   Consider  Teacher  as any object:  if you buy it, you can use it
  287. where you wish, and you can lend it to others, but you cannot "double" it...
  288. TEACHER                                                  HOW TO REGISTER   8
  289.  
  290. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Cut Here -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  291.  
  292. CONTRACT OF NON-EXCLUSIVE LICENCE 
  293. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  294. 1-  Paolo  Gatti (the Author) cannot be held liable for any damage caused by
  295. usage  of the programs Teacher and TCRComp.  The User takes upon himself all
  296. responsibilities.
  297. 2- The  Author is  not obliged  to develop  further versions of the programs   
  298. Teacher and TCRComp.
  299. 3- The User agrees that he  CANNOT distibute the program's  KeyFile,  called   
  300. "TEACHER.REG".
  301. 4- The user agrees to destroy all the copies  he owns of the program and  of
  302. the documentation in case of violation of the licence terms.
  303. 5- The User is granted permission to make safety copies of the programs, the
  304. manuals and the KeyFile, but in this case he must be sure that no  more than
  305. one copy of the program per registration is active at any time.
  306.  
  307. USER'S DATA:                      Multiple Order ( )           Main Form ( )
  308.  
  309. Name________________________________________________________________________
  310.  
  311. Address_____________________________________________________________________
  312.  
  313. ZIP code, City, Province/State______________________________________________
  314.  
  315. Country___________________  Phone Number____________________________________
  316.  
  317. I order #_______________ copies of Teacher, and
  318.  
  319. #___________________ copies of TCRComp, for __________________ authors.
  320.  
  321. Program Version:  Amiga ( )   Ms Dos ( )    Italian ( )  English ( )
  322. Delivery mode: To single users ( )  Cumulative ( )  Master Disk ( )
  323. Extra postal services?   Express ( )   Registered mail ( )
  324.  
  325. Cost: _____________ L. (Teacher) + ____________ L.(postal extras) +
  326.  
  327. + __________(TCRComp copies) * 10000 L. + _________(authors) * 20000 L. =
  328.  
  329. = ______________L.(Total expenditure)
  330.  
  331. I accept all the clauses of this contract, especially clauses #1, #3 and #4.
  332.  
  333.                                              Authorized Signature
  334.  
  335.                                         _________________________________
  336.  
  337. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Cut Here -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  338. TEACHER                                                  HOW TO REGISTER   9
  339.  
  340. The  form  should  be very easy to understand.  The only parts which require
  341. some  explanation  are "Multiple Order" and "Main Form".  They are useful if
  342. you  wish  to  order  many  copies of Teacher which must be sent to the same
  343. address.   In  this  case, all the users must sign a copy of the form, cross
  344. "Multiple  Order"  and  leave  empty  the monetary part of the contract; the
  345. person  who wants to receive the parcel must cross "Main Form" and summarize
  346. on his form the cost of all the copies.
  347.  
  348. If  you have any doubt, enclose a letter (in Italian or English, please!) to
  349. explain your needs.
  350.  
  351. TCRCOMP REGISTRATION FORM
  352.  
  353. For each copy of TCRComp you order, you must also send me a copy of the form
  354. you can see below, as I need to know the names of the authors.  There are no
  355. discounts  for  quantity  on  TCRComp,  but  remember - each copy of TCRComp
  356. includes a free copy of Teacher.
  357.  
  358. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Cut Here -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  359. TCRCOMP REGISTRATION FORM
  360.  
  361. USER'S DATA:
  362.  
  363. Name________________________________________________________________________
  364.  
  365. Address_____________________________________________________________________
  366.  
  367. ZIP code, City, Province, Country___________________________________________
  368.  
  369. New Licence? YES ( )  NO ( )
  370. Program Version:  Amiga ( )   Ms Dos ( )
  371.  
  372. Names of the authors:
  373.  
  374. ________________________ _________________________ _________________________
  375.  
  376. ________________________ _________________________ _________________________
  377.  
  378. ________________________ _________________________ _________________________
  379.  
  380. ________________________ _________________________ _________________________
  381. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Cut Here -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  382. TEACHER                                                  HOW TO REGISTER  10
  383.  
  384. A  short  summary:   every  person or firm who wants to purchase one or more
  385. copies  of Teacher and/or TCRComp must sign a copy of the Registration Form;
  386. for each copy of TCRComp, you must also fill the supplementary form.  Please
  387. write  everything,  except  the  signature, in block letters, as I might not
  388. understand your handwriting.
  389.  
  390. I  will  try  to  send the registered copies of Teacher as soon as possible,
  391. but,  considering the famous efficiency of Italian mail 8-<, do not worry if
  392. the  parcel  takes  two  or  three  months to arrive.  If you want a quicker
  393. delivery ask for Express mail.
  394.  
  395.  
  396. WARNING!  The evaluation copy of Teacher works with some restrictions, which
  397. do  not  bind  registered users.  Registration to Teacher allows you to read
  398. lessons  COMPILED WITH TCRCOMP.  If you register only to Teacher, and if you
  399. try  to  use non-compiled lessons, the program will perform as an evaluation
  400. version.  If you register to TCRComp as well, you can also read non-compiled
  401. lessons, without any restriction.
  402.  
  403. As  you  should have read in the contract, the Author is not responsible for
  404. any  damage  caused  by  the program.  Do not worry, though.  That is only a
  405. legal  clause  to  protect  myself,  but  up  to now Teacher has not damaged
  406. anything.
  407.  
  408. Also  note  that  the  fact that registered users do not have to pay for the
  409. upgrades does not imply that the Author must go on developing Teacher.
  410.  
  411.  
  412. These  conditions,  in  my  opinion,  are more favourable than those usually
  413. found  in commercial products - and the price is much lower.  Do not make me
  414. regret  having  chosen  Shareware  to  distribute  Teacher:   if  you use my
  415. program, register yourselves.
  416.  
  417. TEACHER                                                   BASIC CONCEPTS  11
  418.  
  419.                                BASIC CONCEPTS
  420.  
  421. Teacher  and  TCRComp  have  been developed to give teachers and students as
  422. much flexibility as possible.  You can instantly see this from the fact that
  423. it  is  possible  to transfer nearly everything from Amiga to Msdos and vice
  424. versa using any interface - software emulators, serial cable, Bridgeboard...
  425. The  only thing that changes between the two versions is the executable code
  426. (on   Amigas,   "Teacher"   and   "TCRComp";   on  Msdos  "Teacher.exe"  and
  427. "TCRComp.exe").
  428.  
  429. Teacher  does  not  require  much  to  work.  The Amiga version works on all
  430. models  from  A500 to A3000 33Mhz.  As for Msdos is concerned, Teacher works
  431. perfectly on PC XT, 286, 386 and 486 computers.  The minimum memory required
  432. varies  according  to  the  size of the lesson, but 200K should be more than
  433. enough.
  434.  
  435. The only major fault in Teacher is the interface for teachers which...  does
  436. not  exist:   if I have time, I will develop it.  At the moment, if you want
  437. to  create a lesson you need Teacher, Tcrcomp and a Text Editor.  (For Amiga
  438. users I suggest TxEd or Cygnus Editor).  Any editor should be all right; the
  439. only  requisite  is  that  the  editor MUST NOT add special characters (i.e.
  440. Bold, Underline...) to the text, as they could interfere with Teacher's text
  441. handling routines.  You have to avoid TABs as well.
  442.  
  443. Teacher, as you can read in the Introduction, has many interesting features:
  444. in the following chapters you will learn how to use the program.  I strongly
  445. suggest, anyway, that if you want to do something "serious" with Teacher you
  446. should  first  of  all have a clear idea of what exactly you want Teacher to
  447. do.  People who know what they want to do can do it better.
  448.  
  449. TEACHER                                                   LOGICAL BLOCKS  12
  450.  
  451.                                LOGICAL BLOCKS
  452.  
  453. Logical  blocks are Teacher's main feature.  There are four kinds of logical
  454. blocks,  and  I will describe each of them later.  Any lesson can be created
  455. simply  by  putting  together,  in  a certain order, some blocks.  This is a
  456. short description of all the possible blocks:
  457.  
  458. LINEAR BLOCK: it writes a text onto the screen and goes on to another block.
  459. TERMINAL BLOCK: it  writes a text onto the screen and ends the lesson.  This
  460. is the least frequently used block.
  461. QUESTION  BLOCK:   it  asks  the student a question and proposes two or more
  462. possible  answers.   The student must choose the answer(s) he thinks is(are)
  463. right,  and  Teacher goes on with another block, determined by the answer or
  464. combination of answers given.
  465. EVALUATION BLOCK:  it is similar to the Question block, but Teacher does not
  466. ask  anything - it chooses where to go according to the student's score, the
  467. time he/she took to answer up to now, a random number or the contents of any
  468. of the 64 variables that Teacher can memorize.
  469.  
  470. Every  block can "call" any other block:  that is, the lesson can go on from
  471. any  kind  of  block  (except,  of  course, a Terminal Block) to any kind of
  472. block.   Moreover,  as  blocks  are  identified  by  their  name,  it is not
  473. necessary  for the blocks to be put in sequential order:  when Teacher seeks
  474. a block, it seeks it from the beginning of the text to the end.
  475.  
  476. All  blocks start with a line, long no more than nine characters (letters or
  477. digits),  which  identifies  univocally  that  block;  they  end  with a @#%
  478. sequence.  Block names must be unique, and they must not enclose spaces.
  479.  
  480. Note that Teacher is NOT case sensitive: "A" and 'a' are the same thing.
  481.  
  482. Immediately after the Block Name, you have to type a text, which will appear
  483. every  time  that  Teacher  reads  the  block;  the  text must finish with a
  484. LineFeed  and  a  @#$  sequence.   Between  @#$ and @#% you have to put some
  485. special  data  which  varies  depending  on  which type of block you want to
  486. create.
  487.  
  488. Note  that  if your Text Editor allows you to write long lines without going
  489. to  a  new  line, you can avail yourself of this feature:  Teacher will page
  490. the text up for you.  Otherwise, Teacher can leave the text as it is or page
  491. it  up.   Please  read  the  description  of "LeftMargin", "RightMargin" and
  492. "Justify"  in  the  External  Commands  section  to  know  more  about  text
  493. justification.
  494.  
  495. An example:
  496.  
  497. BLOCK1
  498. .............
  499. ..(Block Text)..
  500. .............
  501. @#$
  502. .............
  503. ..(Other Data)..
  504. .............
  505. @#$
  506. TEACHER                                                     LINEAR BLOCK  13
  507.  
  508.                                 LINEAR BLOCK
  509.  
  510. It  is  a very simple block:  it corresponds to a forced path.  When Teacher
  511. finds  such  a  block, it writes the text on the screen, asks the student to
  512. press Return and goes on with the next block.
  513.  
  514. The structure of a linear block is the following:
  515.  
  516. BLOCK_NAME
  517. Block Text
  518. @#$
  519. 1
  520. NEXT_BLOCK_NAME
  521. @#%
  522.  
  523. For  instance, if the student makes a mistake, you could tell Teacher to use
  524. this block:
  525.  
  526. Error
  527. I'm sorry, but your answer was completely wrong.
  528. @#$
  529. 1
  530. Question3
  531. @#%
  532.  
  533. In  this  case,  Teacher  writes  the  sentence on the screen, waits for the
  534. student to press Return and goes on to the block called "Question3".
  535.  
  536.  
  537.                                TERMINAL BLOCK
  538.  
  539. It is even easier than the linear block: it concludes a lesson.
  540. Here is the syntax:
  541.  
  542. BLOCK_NAME
  543. Block Text
  544. @#$
  545. 0           <- Beware! This is a zero, not an 'o'!
  546. @#%
  547.  
  548. And here is an example:
  549.  
  550. TheEnd
  551. The lesson is over. See you next time.
  552. @#$
  553. 0
  554. @#%
  555.  
  556. Teacher  writes  the sentence, asks the student to press Return and ends the
  557. lesson.
  558.  
  559. TEACHER                                                   QUESTION BLOCK  14
  560.  
  561.                                QUESTION BLOCK
  562.  
  563. It  would  be  nearly  useless  to  write an extremely long series of blocks
  564. without  giving  the  student  any  chance  to  say  anything,  wouldn't it?
  565. Therefore,  here  is the most important part of Teacher, the one that allows
  566. you  to  ask  the student questions and to give him a score according to his
  567. answer.
  568.  
  569. The complex syntax of a Question block is the following:
  570.  
  571. BLOCK_NAME
  572. Block Text: the question
  573. @#$
  574. Possible Answers;Maximum Contemporary Answers
  575. 'A' answer
  576. @#$
  577. 'B' answer
  578. @#$
  579. ...
  580. @#$
  581. Score YES_A; Score NO_A
  582. Score YES_B; Score NO_B
  583. ...
  584. @#$
  585. Answers; Continue with block...
  586. ...
  587. @#%
  588.  
  589. Looks  difficult,  doesn't it?  This is perhaps the most complicated part of
  590. Teacher to learn - but it is the most useful as well.
  591.  
  592. "Possible  Answers"  is  the  number  of  the answers that the computer must
  593. suggest to the student.  It must be at least 2.
  594.  
  595. "Maximum  Contemporary  Answers"  is  the maximum number of answers that the
  596. student  may choose among the ones the computer suggests.  If this parameter
  597. is  3,  for  instance,  the  student  can  choose one, two or three answers.
  598. Obviously,  this  parameter  must  be  at least 1, and cannot be higher than
  599. "Possible Answers".
  600.  
  601. Immediately  after these two numbers, put the texts of the possible answers,
  602. dividing them with @#$ lines.  Teacher pages up answers as well; if you want
  603. to  page them up yourself, remember that the text must be 3 columns narrower
  604. - 71 columns on Amiga, 74 on Msdos.
  605.  
  606. After  the  last  @#$  we  find  the scores:  on each line there must be two
  607. positive  or null integers, divided by a semicolon; the first represents how
  608. many  points  the  student  gets  if  he chooses that particular answer, the
  609. second  the  points  he  gets if he does NOT choose it.  Do not worry if the
  610. concept  seems  strange - I am going to explain it later.  There must be one
  611. such  line for each possible answer.  The Scores section must end with a @#$
  612. line.
  613.  
  614. At  the  end  there  is  the  Jump Table:  here you decide, according to the
  615. answers  given,  which  block  Teacher  must  go on with.  Each line of this
  616. section  consists  of  a condition, a semicolon and a BlockName.  Conditions
  617. are  considered  from  the  top to the bottom, and as soon as a condition is
  618. satisfied Teacher jumps to the corresponding block.
  619. TEACHER                                                   QUESTION BLOCK  15
  620.  
  621. Here is an example - you will probably need it...
  622.  
  623. Question4
  624. Which of the following blocks can you find in Teacher?
  625. @#$
  626. 5;3    <- 5 answers follow; the student can choose up to 3.
  627. Question Block
  628. @#$
  629. Answer Block
  630. @#$
  631. Empty Block
  632. @#$
  633. Terminal Block
  634. @#$
  635. Illogical Block
  636. @#$
  637. 10;0
  638. 1;7
  639. 0;6
  640. 12;0
  641. 0;2
  642. @#$                     Did the student choose...
  643. BCE;3Errors          <- ...three wrong answers?
  644. AD;AllIsOK           <- ...the two correct answers and nothing else?
  645. A;Partial            <- ...the first answer and nothing else?
  646. A?;OneHalf           <- ...the first answer and a wrong one?
  647. D??;D+2              <- ...the fourth answer and other two?
  648. B*;BAndMore          <- Was the second answer chosen?
  649. C?*;C+1+More         <- Were the 3rd answer and at least another chosen?
  650. ???;ThreeAnsw        <- Was it a triple answer?
  651. *;SthElse            <- In all the other cases...
  652. @#%
  653.  
  654. When Teacher executes this block, the following appears on the screen:
  655.  
  656. ------------------------------------------------------
  657.  
  658. Which of the following blocks can you find in Teacher?
  659.  
  660. A> Question Block
  661.  
  662. B> Answer Block
  663.  
  664. C> Empty Block
  665.  
  666. D> Terminal Block
  667.  
  668. E> Illogical Block
  669.  
  670. Please answer (max. 3 answers) >
  671. ------------------------------------------------------
  672.  
  673. Now the student just has to type the letters corresponding to the answers he
  674. chooses  and to press Return.  Note that if you do not answer, or give twice
  675. the  same  answer,  or  give an impossible answer, or give too many answers,
  676. Teacher does not accept it.
  677. TEACHER                                                   QUESTION BLOCK  16
  678.  
  679. In  this  case, the correct answer is 'AD' (or 'da', or 'Da', or 'aD'...  it
  680. is the same thing).
  681. Suppose  that  the  student  answers  'ABC'.   The  score for this answer is
  682. calculated  at  once and added to the total; the same happens to the maximum
  683. possible score.  In this case, the student gets:
  684.  
  685. 10 points for answering A;
  686.  1 point  for answering B;
  687.  0 points for answering C;
  688.  0 points for NOT answering D;
  689.  2 points for NOT answering E.
  690.  
  691. The  student's score grows by 13 points, while the maximum score grows by 37
  692. points - the ones the student would have got if he had answered correctly.
  693. It  is  very  important  to  give points to the student for NOT choosing the
  694. wrong  answers!   The  capacity  of excluding wrong answers is a useful one.
  695. Some  words  about "how many points should I give?".  First of all, a single
  696. question  must not be worth more than 30000 points, and the total must never
  697. grow  higher  than 2 billions.  If you stay below these limits, the method I
  698. suggest  is:  1) choose a maximum score for the question proportional to the
  699. difficulty  of  the  question;  2)  split  it  between  the possible answers
  700. according  to  how  easy  or  difficult  is for the student to decide if the
  701. answer is right or wrong.
  702.  
  703. Immediately  after  calculating  the score, Teacher evaluates the conditions
  704. one  by  one.  Any who has already worked with wildcards will recognize them
  705. immediately:   '?'  means  'any letter', '*' means 'any series of letters or
  706. nothing'.   In  Teacher,  as the order of the answers does not influence the
  707. result, the characters in the condition must be put in this order:  first of
  708. all  letters,  then question marks and finally the asterisk.  As you can see
  709. from the example, you can write lots of conditions in this way.  Please note
  710. that to write a logical AND you only need ONE condition:  for instance, 'AB'
  711. means  "Did the student choose A & B and nothing else?".  To write a logical
  712. OR/XOR you must combine more conditions:
  713.  
  714. AB;Both
  715. A;OnlyA
  716. B;OnlyB
  717. *;Neither
  718.  
  719. In the example, the first condition, BCE, is false as it does not include A;
  720. AD  does not include B and C.  A and A?  cannot be accepted as they limit to
  721. one  or two the answers given, while ABC is a triple answer.  D??  is not OK
  722. as  the  student did not choose D.  Finally, B* is all right, as the student
  723. chose  at  least  B.   Teacher  will continue the lesson with the block that
  724. follows the condition B*, i.e.  BAndMore.
  725.  
  726. Note:   as  a last condition, to avoid errors, you should always use '*', as
  727. it  means  "In  any  other  case".  If '*' is missing, the syntax controller
  728. TCRComp will warn you.
  729.  
  730. The  Question  Block  is  the  most difficult of all; if you feel you cannot
  731. learn  how to use it, the only solution is to experiment and see how Teacher
  732. reacts.   If I manage to write an interactive interface for teachers, I will
  733. try to make this section easier.
  734. TEACHER                                                 EVALUATION BLOCK  17
  735.                               EVALUATION BLOCK
  736.  
  737. This  is  the  last  type  of block:  it gives you the opportunity to choose
  738. between different continuations according to the student's current score.
  739. Here is the syntax:
  740.  
  741. BLOCK_NAME
  742. Block Text
  743. @#/JumpMode EVALUATION_MODE
  744. @#$
  745. -Number of alternatives      <- Must be <0
  746. Default Continuation
  747. Min;Max;Continuation
  748. Min;Max;Continuation
  749. ...
  750. @#%
  751.  
  752. The line containing @#/JumpMode tells Teacher where it must "look" to decide
  753. where  to  go  from  here.   If  this line is missing, Teacher evaluates the
  754. current  partial  score.   I  shall  explain JumpMode later, in the External
  755. Commands chapter.
  756.  
  757. After  the  usual  BlockText  and  @#$, there must be a NEGATIVE number:  it
  758. means  that  this  is  not a Question Block but an Evaluation Block.  On the
  759. following line there must be the name of a block:  if Teacher is not able to
  760. decide a continuation, it will choose this block.
  761.  
  762. Immediately after this you have to write as many lines as the absolute value
  763. of  the  "Number  of  alternatives".   Each  line  consists of a minimum and
  764. maximum score (in 1000th) or time (in seconds) and of a Blockname; the three
  765. fields are separated by semicolons.
  766.  
  767. When  Teacher executes an Evaluation Block, it compares the previosly chosen
  768. object (for instance, the score) with the various intervals, from the top to
  769. the  bottom.  As soon as Teacher finds an acceptable interval, it "jumps" to
  770. the  corresponding  block;  otherwise,  if  it  cannot  find  any acceptable
  771. interval, it jumps to the Default Block.
  772.  
  773. In  any  case,  before  going to the next block, Teacher asks the student to
  774. press Return. Here is an example:
  775.  
  776. Eval
  777. You will soon know how well - or badly - you did...
  778. @#$
  779. -3                <- Three Rating Lines.
  780. Average           <- If all comparisons fail, go to "Average".
  781. 0;399;VeryBad     <- First: did the student get less than 400/1000?
  782. 400;599;Bad       <- Second: did he get from 400 to 599/1000?
  783. 850;1000;VeryGood <- Third and last: did he get at least 850/1000?
  784. @#%
  785.  
  786. In  this  case,  if  the student's rating is less than 4/10, Teacher goes on
  787. with the "VeryBad" block; if the rating is between 4/10 and 6/10, it goes to
  788. "bad";  if  it is higher than 850/1000, Teacher goes on with "VeryGood"; and
  789. finally, in all other cases, continues with the "Average" block.
  790.  
  791. You should now know how to create a block of any kind.  Combining the blocks
  792. correctly you can do nearly anything...  you only have to try.
  793. TEACHER                                           HOW TO CREATE A LESSON  18
  794.  
  795.                            HOW TO CREATE A LESSON
  796.  
  797. You should know by now the internal syntax of the blocks; the last thing you
  798. have  to  learn in order to create a lesson is how to combine blocks.  It is
  799. very easy:  you just have to create a text file with any editor.
  800.  
  801. The  name  of  the file MUST end with ".Teacher" on Amiga and with ".Tea" on
  802. Msdos  computers.   This suffix (or extension) tells the computer "this is a
  803. lesson which can be read by Teacher".
  804.  
  805. The  first  line  of the text must be TEACHER_DFILE - it confirms that it is
  806. really a lesson.
  807.  
  808. The  second  line consists of the name of the block Teacher must begin with.
  809. It  is  not necessary for it to be the first block.  In the following lines,
  810. you  can  put  (if  you  wish) some External Commands (see later) and, after
  811. them, a @#% line.
  812.  
  813. After  this  "Introduction  Block"  you  only have to put, in any order, the
  814. blocks  which  constitute  the  lesson.   BEWARE!  Avoid leaving empty lines
  815. outside text blocks.  They could cause errors.
  816.  
  817. An  example:  the lesson "Example.Teacher" ("Example.Tea" on Msdos) could be
  818. written this way.
  819.  
  820. TEACHER_DFILE
  821. 2ndBlock               <- Start with this block
  822. @#%                    <- No External Commands
  823. BlockOne
  824. ...
  825. @#%
  826. 2ndBlock
  827. ...
  828. @#%
  829. ...                    <- Various blocks
  830. ...
  831. ...
  832. ...
  833. LastBlock
  834. ...
  835. @#%
  836.  
  837. Once  the  lesson  file is ready, when you want to start the lesson you just
  838. have  to  enter,  from  CLI  or  Shell on Amiga, at the Prompt on Msdos, the
  839. command  "Teacher <LessonName>", where <LessonName> is the lesson's filename
  840. without  extension.   For  instance,  to  use  the  lesson "Demo.Teacher" or
  841. "Demo.Tea", you just have to write
  842.  
  843. TEACHER DEMO
  844.  
  845. and  press  Return.  If the file called "Demo.Teacher" is not in the current
  846. directory, you have to tell Teacher the path to find it.
  847.  
  848. You can now begin to experiment... good luck!
  849. TEACHER                                                INTERNAL COMMANDS  19
  850.  
  851.                              INTERNAL COMMANDS
  852.  
  853. You  can  already  create  some  interesting  lessons by using what you have
  854. learnt up to now.  But Teacher can do much more!  In fact, it is possible to
  855. display the student's mark, the time he took to complete the lesson, ask him
  856. to  press  Return,  calculate  a  partial  score...  You can do all of these
  857. things by using Internal Commands.
  858.  
  859. All  Internal  Commands  have  some common features.  First of all, they all
  860. begin  with the characters @#.  Secondly, they must be placed inside a text;
  861. when Teacher finds them, according to the command, it performs some specific
  862. actions or  replaces  them with something else - for instance, the student's
  863. score.
  864.  
  865. Two  internal  commands, @#$ and @#%, have already been described.  Here you
  866. will find a description of all the other internal commands.
  867.  
  868. PRESS RETURN - @#&
  869. It  pauses  the  lesson  until  the student presses Return.  This command is
  870. useful  when you want to create suspense, or when you have to deal with very
  871. long texts which would otherwise overflow.
  872.  
  873. An example:
  874. ...
  875. Blah Blah Blah Blah Blah Blah Blah Blah
  876. @#&
  877. Blah Blah Blah Blah Blah Blah Blah Blah
  878. ...
  879.  
  880. In this case, Teacher displays the first Blah row, asks the student to press
  881. Return  and  waits;  when the student chooses to go on, Teacher displays the
  882. second Blah line.
  883.  
  884.  
  885. WRITE MARK - @#*maxpoints
  886. This  sequence  is replaced with the student's mark; the maximum mark is the
  887. number  (at  least  2)  following  @#*.  The mark is calculated dividing the
  888. student's  points  by the maximum possible score, and multiplying the result
  889. by the maximum mark.  For instance, @#*100 writes on the screen a centesimal
  890. mark.  If the student got 140 points on a maximum of 202, the result will be
  891. 70 (Teacher always rounds down).  If you use @#* before asking any question,
  892. Teacher assumes that 0/0=1. (Otherwise the computer would crash...)
  893.  
  894. CLEAR PARTIAL SCORE - @#^
  895. This  sequence  should  be  used  as a separate line.  This internal command
  896. clears the partial score and the partial maximum points.
  897. TEACHER                                                INTERNAL COMMANDS  20
  898.  
  899. USE GLOBAL SCORE - @#!
  900. This sequence should be used as a separate line.  It is the opposite of @#^:
  901. when Teacher finds it, it forgets the partial score and uses global scores.
  902. An  example:   suppose  the  student  got 360 points on a maximum of 400.  A
  903. @#*100  command  would write 90.  If you now use @#^, the score becomes 0/0.
  904. Suppose  that the student now gains 30/100 points.  @#*100 would display 30.
  905. If  you  use  the  @#!  command, Teacher sums up all partial scores, and the
  906. student gets a global 390/500:  78 on a @#*100.
  907. Besides  @#*, the commands @#^ and @#!  also influence Evaluation Blocks, as
  908. they use partial scores after @#^, global scores after @#!.
  909.  
  910.  
  911. SHOW TIME AND DATE - @#T or @#t
  912. This sequence is replaced by the time and date memorized into the computer.
  913.  
  914.  
  915. SHOW TIME ELAPSED - @#H, @#M, @#S, @#h, @#m, @#s
  916. These  sequences  are  replaced  by the number of hours, minutes and seconds
  917. elapsed  from the beginning of the lesson if H, M, S are upper-case; if they
  918. are  lower-case,  Teacher  shows  the time elapsed since the last Time Reset
  919. (see External Commands).
  920.  
  921.  
  922. WRITE @# - @#
  923. The characters @#, followed by a space, are displayed as they are.
  924.  
  925.  
  926. WRITE @#something - @#@something
  927. Internal  commands have only one fault - you cannot display the @# sequence,
  928. as it is recognized as a command and not as a text.  No problem.  Using this
  929. command you can solve this problem as well.
  930. For instance, the text "The @#@T command displays time and date" displays on
  931. the screen "The @#T command displays time and date".
  932.  
  933.  
  934. SEND EXTERNAL COMMAND - @#/Command
  935. This sequence sends the command "Command" to the External Command Processor.
  936. Read the following chapter to know more about it.
  937.  
  938.  
  939. PRINT VARIABLE - @#=var command (0.60)
  940. Only  available  in  version  0.60  or  higher.   This  command displays the
  941. contents of the variable 'var', where 'var' is a number between 0 and 63.
  942. TEACHER                                                EXTERNAL COMMANDS  21
  943.  
  944.                              EXTERNAL COMMANDS
  945.  
  946. With  External  Commands you can perform a series of complex actions:  among
  947. these,  the  most interesting is perhaps the LogFile, i.e.  you can write to
  948. disk  a  summary of what the student does, automatically.  The "Log" chapter
  949. speaks  about  this in detail.  If a command is followed by a number between
  950. brackets, you need at least that version of Teacher to use that command.
  951.  
  952. WARNING!   External commands, except Version and Time Reset, are reserved to
  953. registered  users.  In evaluation versions they are ignored.  This is a good
  954. reason to register...
  955.  
  956.  
  957. VERSION
  958.  
  959. Syntax: VERSION minimum-version-number
  960. It  tells  Teacher  the minimum version of Teacher needed to use the lesson.
  961. For  instance,  "Version  0.60"  stops the lesson if Teacher is not at least
  962. version  0.60.   This  is  very  useful  if  you use commands which were not
  963. available in older versions of Teacher.
  964.  
  965.  
  966. LOGMODE
  967.  
  968. Syntax: LOGMODE Verbosity
  969. This commands activates and deactivates the Logfile, and tells Teacher which
  970. data must be written in it.
  971.  
  972. Instead of Verbosity, you must insert one of the following keywords:
  973.  
  974. NONE  -  Completely  deactivates  the LogFile.  If this command appears in a
  975. lesson,  no other commands in it may refer to the log.  LogMode None must be
  976. put in the Introduction Block, and must appear only once.
  977.  
  978. OFF  -  Temporarily  deactivates  the LogFile.  If Teacher does not find any
  979. LogMode commands, it assumes the mode is OFF.  All log-commands are ignored.
  980.  
  981. HARDCOPY  -  Activates  the  Log and sends to it exactly what appears on the
  982. screen, neither more nor less.
  983.  
  984. TERSE  -  Activates  the  Log,  and writes the names of encountered Question
  985. Blocks and the answers given; moreover, when a @#* is executed, the score is
  986. written on the Log as well.  All log-commands are active.
  987.  
  988. NORMAL  -  Activates  the Log as Terse, plus it writes for each question the
  989. points the student got and the maximum for that question.
  990.  
  991. VERBOSE  -  Writes  in  the  Log the names of ALL the blocks encountered; in
  992. Question  Blocks, it memorizes the answer given, and the student's & maximum
  993. scores for that question, partial and global.
  994.  
  995. FULL - Combines Verbose with Hardcopy.
  996. TEACHER                                                INTERNAL COMMANDS  22
  997.  
  998. LOGNAME
  999.  
  1000. Syntax: LOGNAME LogFile
  1001. It  defines  the  name  of  the LogFile.  If this command is absent, Teacher
  1002. assumes the LogFileName to be <LessonName>.Log.
  1003. If  the  current  LogMode is None, Teacher stops.  If a log is already open,
  1004. Teacher closes it and opens the new log.
  1005. You  can  use  LogName  to  print  results:  you only have to use, on Amiga,
  1006. "LogMode PRT:"; on Msdos, "LogMode LPT1".
  1007.  
  1008.  
  1009. ECHONAME
  1010.  
  1011. Syntax: ECHONAME
  1012. If  the  Logfile  is  active,  EchoName writes on it the name of the current
  1013. lesson.   For  instance,  if  Teacher  was activated with "Teacher Lesson1",
  1014. EchoName will write "Lesson1.Teacher".
  1015.  
  1016.  
  1017. ECHO
  1018.  
  1019. Syntax: ECHO sentence
  1020. If  the  LogFile  is  active,  Echo  writes the rest of the line on it.
  1021. For  instance,  "Echo  ***Second  Part  of  the  test***"  sends  to the log
  1022. "***Second Part of the test***".
  1023.  
  1024.  
  1025. ASK
  1026.  
  1027. Syntax: ASK MinLen Sentence
  1028. ASK  writes  "Sentence"  on the screen, and waits for the student to answer.
  1029. If  the  answer  is  shorter than MinLen characters, the student must answer
  1030. again (useful to force students to answer...).
  1031. When  the  answer  is accepted, if the logfile is open, it is written on the
  1032. logfile.   For  instance, "Ask 10 Type your name please" asks the student to
  1033. write his name; when the student writes a sequence of at least 10 characters
  1034. Teacher sends it to the Log and goes on.
  1035.  
  1036.  
  1037. TIME commands: TIME [Reset|Write|Elapsed|Total]
  1038.  
  1039. TIME  RESET:  resets the system chronometer.  The internal commands @#h, @#m
  1040. and @#s are affected, as they write the time elapsed since the last Reset.
  1041. TIME WRITE:  writes on Log the current time and date.  It corresponds to the
  1042. internal command @#t.
  1043. TIME  ELAPSED:  writes on Log the time passed since the last Time Reset.  If
  1044. no Time Reset was given, this is the same as Time Total.
  1045. TIME  TOTAL:   writes  on  Log  the  time elapsed since the beginning of the
  1046. lesson.
  1047. TEACHER                                                EXTERNAL COMMANDS  23
  1048.  
  1049. AUTHOR
  1050.  
  1051. Syntax: AUTHOR AuthorName
  1052. This command MUST appear in the Introduction Block of any lesson you want to
  1053. compile  with  TCRComp.   Multiple Author lines, or Author lines outside the
  1054. Introduction Block, cause Teacher to stop.
  1055. Instead  of  AuthorName  you  must put the name of the author of the lesson.
  1056. The  author,  of  course, must be registered to TCRComp for the lesson to be
  1057. compiled.   Once  the  file is compiled, the Author line acts as a Copyright
  1058. protection - if modified, the compiled file is totally useless.
  1059.  
  1060.  
  1061. OVERRIDE
  1062.  
  1063. Syntax: OVERRIDE
  1064. You  can  use Override only in the Configuration file (see later).  It tells
  1065. Teacher  that  data  in the configuration file must prevail over contrasting
  1066. orders in the lessons' Introduction Block.  If Override is not used, Teacher
  1067. does the opposite.
  1068.  
  1069.  
  1070. ADDPOINT (0.54)
  1071.  
  1072. Syntax: ADDPOINT #points
  1073. Adds  #points  to  the current and global score.  #points must be an integer
  1074. between   -30000   and  +30000.   Warning:   if  you  use  AddPoint  without
  1075. AddMaxPoint, @#* can give you a score higher than 100% or less than 0.
  1076.  
  1077.  
  1078. ADDMAXPOINT (0.54)
  1079.  
  1080. Syntax: ADDMAXPOINT #points
  1081. It  works  exactly like AddPoint, but modifies the current and global "best"
  1082. scores.
  1083.  
  1084.  
  1085. SETVAR and ADDVAR (0.54)
  1086.  
  1087. Syntax: SETVAR #var #num
  1088.         ADDVAR #var #num
  1089. Teacher has got 64 internal variables; 60 of them (0-59) are free, while the
  1090. other four are
  1091.  
  1092. 60 - current score
  1093. 61 - current best score
  1094. 62 - global score
  1095. 63 - global best score
  1096.  
  1097. Therefore AddPoint 200 is the same as AddVar 60 200 and AddVar 62 200.
  1098. A variable can be any integer number between -2e9 and +2e9; its contents can
  1099. be  set  with  SetVar and modified with AddVar.  For instance, SetVar 0 1000
  1100. puts the value 1000 in variable #0; AddVar 3 -1 decreases var #3 by one.
  1101. When the lesson starts, all variables are zero.
  1102. TEACHER                                                EXTERNAL COMMANDS  24
  1103.  
  1104. JUMPMODE (0.54)
  1105.  
  1106. Syntax: JUMPMODE POINTS [default]
  1107.         JUMPMODE RND
  1108.         JUMPMODE RANDOM
  1109.         JUMPMODE TIME
  1110.         JUMPMODE TTIME
  1111.         JUMPMODE VAR #var
  1112.  
  1113. JumpMode  allows  you  to  choose  which  parameter  Teacher  will use in an
  1114. Evaluation  Block  to  choose  where  to  go.   JumpMode only influences the
  1115. CURRENT  block;  every  time that Teacher changes block, JumpMode reverts to
  1116. POINTS.
  1117.  
  1118. POINTS: The default choice. Teacher evaluates the current score, in 1000ths.
  1119.  
  1120. RND or RANDOM: Teacher evaluates a random number between 0 and 999, which is
  1121.                generated by the system clock.
  1122.  
  1123. TIME & TTIME: Teacher  evaluates  respectively the time (in seconds) elapsed
  1124.               from  the  previous  Time  Reset and the time elapsed from the
  1125.               beginning  of  the  lesson.  The maximum time is 2,000,000,000
  1126.               seconds - about 60 years.
  1127.  
  1128. VAR  #var: Teacher  evaluates  the current  value of the variable #var.  For
  1129.            instance,  @#/JumpMode  Var  5  tells  Teacher  to  evaluate  the
  1130.            variable #5.
  1131.  
  1132.  
  1133. TIMEOUT (0.54)
  1134.  
  1135. Syntax: TIMEOUT Maximum_Time_in_seconds
  1136. Sets  the  maximum time the student can spend on the lesson.  If the student
  1137. is  too  slow,  Teacher abandons the lesson and jumps to the block specified
  1138. with the command TimeOutBlock. The count-down is reset by Time Reset.
  1139. If  TimeOutBlock  has  already  been  used  before,  TimeOut  activates  the
  1140. count-down.  To deactivate the countdown, use TimeOut 0.
  1141. When the count-down reaches zero, it stops until you use TimeOut again.
  1142.  
  1143.  
  1144. TIMEOUTBLOCK (0.54)
  1145.  
  1146. Syntax: TIMEOUTBLOCK Block_Name
  1147. Sets  the  block  to  which Teacher must jump whenever the countdown reaches
  1148. zero;  if  TimeOut has already been used, TimeOutBlock starts the countdown.
  1149. TimeOutBlock does not have to be restored when the count-down reaches zero.
  1150.  
  1151.  
  1152. WAITMODE (0.60)
  1153.  
  1154. Syntax: WAITMODE Mode
  1155. If  Mode  is 0 (it is 0 by default) the student must press Return every time
  1156. Teacher  passes  from  one  block to another.  If Mode is 1 the student must
  1157. instead  press  Return  only  when  answering  or  when  Teacher finds a @#&
  1158. internal command.
  1159.  
  1160. TEACHER                                                EXTERNAL COMMANDS  25
  1161.  
  1162. APPEND (0.60)
  1163.  
  1164. Syntax: APPEND Lesson [Password]
  1165. Teacher ends the current lesson and starts the specified one.  The student's
  1166. score  and the other variables remain unchanged, but the TimeOut, if active,
  1167. becomes  inactive.   If  the  new  lesson  has  been  protected with TcrComp
  1168. Encrypt,  you  must  write  here  the  password (mind:  upper and lower case
  1169. letters are different!).
  1170.  
  1171.  
  1172. CHARSET (0.60)
  1173.  
  1174. Syntax: CHARSET Computer
  1175. Example: Charset Amiga
  1176. If  the  lesson  was  not  written  on  a Msdos, this command, placed in the
  1177. introduction  block,  allows  Teacher  to  interpret  correctly the accented
  1178. letters and other symbols.
  1179.  
  1180.  
  1181. LEFTMARGIN and RIGHTMARGIN (0.60)
  1182.  
  1183. Syntax: LEFTMARGIN  column
  1184.         RIGHTMARGIN column
  1185. These  commands  set  the  left and right edge of the screen.  There are two
  1186. restrictions:   the  number  after  LeftMargin must be 0 or greater, and the
  1187. width of a line cannot be less than 30 characters.
  1188.  
  1189.  
  1190. JUSTIFY (0.60)
  1191.  
  1192. Syntax: JUSTIFY [LEFT|CENTER|RIGHT]
  1193.         JUSTIFY
  1194.         JUSTIFY [FORCE|LEAVE|NORMAL]
  1195. This  command  allows  you  to choose how the text is printed:  left-aligned
  1196. (default  choice),  right-aligned, centered or justified (that is, both left
  1197. and right aligned).
  1198. Justify Force tells Teacher that the text must be re-paged up:  Teacher will
  1199. ignore  multiple  spaces  and  single  Carriage Returns.  To end a paragraph
  1200. while  Justify  Force  is  on,  you must leave an empty line.  Justify Leave
  1201. turns off repaging, and Justify Normal switches back to the default choice.
  1202.  
  1203.  
  1204. RESET (0.60)
  1205.  
  1206. Syntax: RESET
  1207.  
  1208. This  command  clears  all  of  the  variables, including partial and global
  1209. scores.   This  is useful when you wish to restart a lesson or when you want
  1210. to  foil  any  attempt of creating a Teacher.cfg file with an ADDPOINT 10000
  1211. line...
  1212.  
  1213.  
  1214. MULVAR (0.60)
  1215.  
  1216. Syntax: MULVAR var num
  1217.  
  1218. Multiplies the variable 'var' by 'num'. 'num' can be any number.
  1219. TEACHER                                                EXTERNAL COMMANDS  26
  1220.  
  1221. RNDVAR (0.60)
  1222.  
  1223. Syntax: RNDVAR var min max
  1224.  
  1225. Places  in  the  variable  'var'  a  random  number between 'min' and 'max'.
  1226. Remember, however, that Teacher only supports numbers between -2.000.000.000
  1227. and 2.000.000.000.
  1228.  
  1229.  
  1230. CPYVAR (0.60)
  1231.  
  1232. Syntax: CPYVAR var1 var2
  1233.  
  1234. Copies the contents of the variable var2 into var1.
  1235.  
  1236.  
  1237. Other commands regarding variables (0.60)
  1238.  
  1239. Syntax: ADDVARS var1 var2
  1240.         MULVARS var1 var2
  1241.         DIVVARS var1 var2
  1242.  
  1243. These  commands  perform  the operations var1+var2, var1*var2 and var1/var2,
  1244. and store the result in var1.
  1245. TEACHER                                                      THE LOGFILE  27
  1246.  
  1247.                                 THE LOGFILE
  1248.  
  1249. The  LogFile, about which I have already spoken, is one of the most flexible
  1250. and  powerful  instruments  that  Teacher  offers  to the teachers.  If used
  1251. correctly,  it allows you to organize easily tests on the computer, to judge
  1252. yourself the results...
  1253.  
  1254. The  LogFile is always opened in Append mode.  This means that data from one
  1255. lesson  do not delete those of the previous one, but are written after them.
  1256. All  data  is  available  to the teacher until he deletes it manually with a
  1257. Delete or Del command.
  1258.  
  1259. To make it possible to distinguish what each line of the Logfile means, each
  1260. of  them  is  preceded  by  a special character that varies according to the
  1261. origin of the line.
  1262.  
  1263. These are the currently used characters:
  1264.  
  1265. '%': this is a BLOCK through which the student passed.
  1266. '!': this is a mark, expressed as Points/MaxPoints.
  1267. '*': the results of a Question Block.
  1268. '>': this was an Echo.
  1269. '#': answer to an Ask command.
  1270. '?': the name of the lesson, written by EchoName.
  1271. '@': date and time written by Time Write.
  1272. '+': partial chronometer, Time Elapsed.
  1273. ':': global chronometer, Time Total.
  1274.  
  1275. Among  these, the '*' line, the one which reports the results of a question,
  1276. has a special structure.
  1277. Here it is:
  1278.  
  1279. *BlockName AnswGiven POINT MAXPT PARTPOINT PARTMAXPT GLOBPOINT GLOBMAXPT
  1280.  
  1281. (According to the LogMode, some data may be missing).
  1282.  
  1283. POINT  and MAXPT refer to the scores obtained and maximum in that particular
  1284. question;  PARTPOINT  and  PARTMAXPT  to the partial counter (see @#^, @#!);
  1285. GLOBPOINT and GLOBMAXPT to the global counter.
  1286.  
  1287. The  LogFile  can  be  read  by  a statistics program, if you understand the
  1288. meaning of the codes:  this way you can, for instance, compare the student's
  1289. performance during the various parts of the test, compare the results of all
  1290. the students...  The only limit is your imagination.
  1291.  
  1292. TEACHER                                         HOW TO CUSTOMIZE TEACHER  27
  1293.  
  1294.               HOW TO CUSTOMIZE TEACHER: THE CONFIGURATION FILE
  1295.  
  1296. Teacher's  potentialities  are not yet over.  A single lesson may be used by
  1297. different  people  who  have  different  needs.   For  instance, a series of
  1298. questions  used  at school as a test will require an initial Ask (who is the
  1299. student???)  and a Log; used as a "private lesson", Ask and Log are useless.
  1300. With  Teacher  you  can  adapt  the  same  lesson  to  different needs:  the
  1301. instrument to do this is the Configuration File.
  1302.  
  1303. The  Config File is just a text file, called "Teacher.Cfg", and put into the
  1304. current  directory  (*);  it  must consist of a series of external commands,
  1305. which  are  executed  at  the  beginning of every lesson.  For instance, the
  1306. following Config File
  1307.  
  1308. LogName Main.Log
  1309. LogMode Verbose
  1310. EchoName
  1311. Ask 10 What's your name?
  1312. Override
  1313.  
  1314. tells  Teacher  to  use Verbose Logs, and to send all data to the unique log
  1315. "Main.Log";  every lesson must send its name to the Log, and ask the student
  1316. his  name.   The  Override keyword tells Teacher to override any contrasting
  1317. directive in the Introduction Block.
  1318.  
  1319. As external commands, the Config File is restricted to registered users.
  1320.  
  1321. External  commands  put  in the Config file or in the Introduction Block are
  1322. also  called Static Commands.  The commands VERSION, AUTHOR and LOGMODE NONE
  1323. must  be  static,  while TIME RESET, TIME ELAPSED and TIME TOTAL must not be
  1324. static.  The reason is obvious.
  1325.  
  1326.  
  1327.  
  1328.  
  1329. ----------------------------------------------------------------------------
  1330. (*) With Teacher 0.60 the configuration file can be ANY file, which you must
  1331. specify  in  the  command  line  if  it's  not "Teacher.Cfg" by using the -c
  1332. option.  For instance, if your Config File is s:Config.Tcr, you must write
  1333.  
  1334.                 TEACHER LessonName -c s:config.tcr
  1335.  
  1336. Just  in  the same way you can put the KeyFile where it most suits you:  you
  1337. only  have to tell Teacher where to look, with the -k option.  If you are an
  1338. original  and  want  to  call your keyfile dh0:mystuff/tcrkey.abc, just call
  1339. Teacher this way:
  1340.  
  1341.                 TEACHER LessonName -k dh0:mystuff/tcrkey.abc
  1342. TEACHER                                                          TCRCOMP  29
  1343.  
  1344.                                   TCRCOMP
  1345.  
  1346. TCRComp  is  Teacher's  companion:   whoever wants to write a new lesson for
  1347. Teacher  and  does  not  want  to  get mad while testing it definitely needs
  1348. TCRComp.   TCRComp's  main purpose is to analyse the text of a lesson and to
  1349. report  any  error.   If  TCRComp says that a lesson is OK, it probably is -
  1350. though  there  could  be some structural error, as an endless loop caused by
  1351. two  linear blocks which call one another.  The Analysis function of TCRComp
  1352. is available in the evaluation version.
  1353.  
  1354. TCRComp  has other important features, reserved to registered users:  it
  1355. can  "compile"  the  text  of  a lesson, making it faster and allowing users
  1356. registered only to Teacher to use the lesson without penalties; it can check
  1357. if  a  compiled  lesson is OK or needs recompiling (as it was modified after
  1358. compiling); it can encrypt and decrypt lessons.
  1359.  
  1360. Two  other  functions exist:  "Help", which shows a summary of the available
  1361. commands, and "About", which shows a Copyright message.
  1362.  
  1363.  
  1364. The syntax of TCRCOMP is
  1365.  
  1366. TCRCOMP Command [LessonName] [Verbosity] [LOCK] [-kKeyFile] [-pPassword]
  1367.  
  1368.  
  1369. The  -k  option, as in Teacher, tells TcrComp where the KeyFile is, if it is
  1370. not  "Teacher.Reg"  in  the  current  directory; the -p option specifies the
  1371. password for encrypting and decrypting a lesson.
  1372.  
  1373.  
  1374. HELP
  1375.  
  1376. If you do not remember all the commands, type TCRCOMP HELP.
  1377.  
  1378.  
  1379. ABOUT
  1380.  
  1381. To see the copyright message, type TCRCOMP ABOUT.
  1382.  
  1383.  
  1384. CHECK
  1385.  
  1386. Analyzes a lesson. The syntax is
  1387.  
  1388. TCRCOMP CHECK LessonName [Verbosity]
  1389.  
  1390. where  LessonName is the name of the lesson without the ".Teacher" or ".Tea"
  1391. extension,  while the optional parameter Verbosity tells TCRComp how much it
  1392. must  send  to the screen:  very little (use TERSE), very much (use VERBOSE)
  1393. or  an average quantity of data (no parameter).  Beware when you use Verbose
  1394. mode...  it may be a VERY LONG analysis, as TCRComp writes an average of 5-6
  1395. lines per block.
  1396.  
  1397. For  instance,  "TCRComp  Check  Physics1  Terse" analyses the lesson called
  1398. "Physics1.Teacher" sending as little as possible to the screen.
  1399. TEACHER                                                          TCRCOMP  30
  1400.  
  1401. COMPILE
  1402.  
  1403. The  syntax  is  the  same  as  Check  -  you only have to change Check with
  1404. Compile.   "TCRComp  Compile"  analyzes  the lesson, and creates a "Compiled
  1405. file"  whose  name  is  the same as that of the lesson, except the extension
  1406. which  is  changed to ".Tcr".  TCRComp writes in the compiled file some data
  1407. which will be read by Teacher and will speed up the block search.
  1408.  
  1409. IMPORTANT!!!   TCRComp  Compile  MUST be used EVERY TIME you modify, even by
  1410. one  letter,  the  text  of the lesson.  If you use an old compiled file you
  1411. could  cause  a disaster, i.e.  the lesson could stop abruptly because of an
  1412. error.   I  think I will solve this problem in a future versions of Teacher,
  1413. by reading the creation date of the files.
  1414.  
  1415. TCRComp  Compile  needs  an  Author  line  in  the Introduction Block of the
  1416. lesson.   The author, of course, must be registered.  The name of the author
  1417. will be encoded in the compiled file, and if the AuthorName is later changed
  1418. the compiled file becomes useless.
  1419.  
  1420.  
  1421. COMPARE
  1422.  
  1423. It  simply  analizes  the lesson and checks the corresponding compiled file.
  1424. Any change will be noticed.  The syntax is the same as Compile.
  1425.  
  1426.  
  1427. PROTECT (0.53)
  1428.  
  1429. It  compiles  the lesson as COMPILE, and creates the file Lesson.Encoded (on
  1430. Msdos  Lesson.Enc),  which  is readable by Teacher but NOT by humans.  After
  1431. running TcrComp Protect, delete or rename the file Lesson.Teacher and rename
  1432. Lesson.Encoded  in  Lesson.Teacher.   You  now have a lesson which cannot be
  1433. modified...  and no student can look in the lesson file to see which are the
  1434. correct answers!  If you specify LOCK on the command line, the .Encoded file
  1435. can  no  more  be  decrypted  by TcrComp (useful for people who want to sell
  1436. their lessons).  Protect does not require a password.  Protected files are 1
  1437. byte longer than the original.
  1438.  
  1439.  
  1440. ENCRYPT (0.53)
  1441.  
  1442. It's  nearly  the  same  as  Protect;  the  only  difference is that Encrypt
  1443. requires a password to work.  If the password contains spaces it must be put
  1444. among   quotation   marks  "".   WARNING!!!   In  passwords  upper-case  and
  1445. lower-case letters are NOT interchangeable.
  1446.  
  1447. In  order to read with Teacher an encrypted lesson you must - first of all -
  1448. have  at  least version 0.53.  In this case, just tell Teacher the password,
  1449. which must be the same you used to Encrypt the lesson:
  1450.  
  1451.                   TEACHER Lesson -pPassword
  1452. TEACHER                                                          TCRCOMP  31
  1453.  
  1454. DECRYPT
  1455.  
  1456. Extracts  a  .Decoded  (.Dec  on  Msdos) file from an encrypted or protected
  1457. .Teacher  file.   The  .Decoded  file  is  exactly the same as the original.
  1458. Decrypt  does not work if the file was encrypted with LOCK, and it needs the
  1459. .Tcr  compiled file to function.  Decrypt reverses both Protect and Encrypt;
  1460. to reverse the latter, Decrypt needs (of course) the password.
  1461. TEACHER                                                   ERROR MESSAGES  32
  1462.  
  1463.                                ERROR MESSAGES
  1464.  
  1465. This  chapter  lists  the various error messages that can appear while using
  1466. Teacher  and  TCRComp,  and  explains their meaning; in some cases, you will
  1467. find how to fix the problem.
  1468.  
  1469. ERRORS COMMON TO TEACHER AND TCRCOMP
  1470.  
  1471. Can't open file ""
  1472. Teacher cannot find that file on disk.
  1473.  
  1474. Bad file name ""
  1475. The  name  is  incorrect  since  it  contains some reserved characters ('*',
  1476. '?'...)
  1477.  
  1478. Pointer out of sync.
  1479. Teacher always keeps in memory a "pointer table" in order to jump quickly to
  1480. any  block.  If the table is messed up with, this error occurs.  Usually the
  1481. error  occurs  when  you  modify  an  already  compiled  file  and forget to
  1482. recompile it; use TCRComp Compile to solve the problem.
  1483.  
  1484. Bad Log File Name.
  1485. The parameter you used with LogName is bad.
  1486.  
  1487. LF missing after @#%.
  1488. You should leave @#$ and @#% alone on the line.  Anyway, after them you MUST
  1489. go to a new line!
  1490.  
  1491. '*' command error.
  1492. The Maximum score you gave to @#* is lesser than 2 or too high.
  1493.  
  1494. '?' command not available.
  1495. Teacher found a non-existent internal command.
  1496.  
  1497. Error in default block.
  1498. In an Evaluation Block, Teacher could not read the Default Block name.
  1499.  
  1500. Error in score x.
  1501. In  a  Question  or  Evaluation  block, the x-th row of scores has something
  1502. wrong.
  1503.  
  1504. LF missing after evaluation line.
  1505. In an Evaluation Block, after the min/max scores and the BlockName, you have
  1506. to go to a new line.
  1507.  
  1508. Error in answer maximum.
  1509. In  a  Question  Block,  the  maximum number of contemporary answers must be
  1510. between 1 and the total number of possible answers.
  1511.  
  1512. Answers are not yet over.
  1513. At  the  beginning  of  a Question Block you announced more possible answers
  1514. than  those found.  Check that the texts of the answers are separated by @#$
  1515. lines.
  1516.  
  1517. Blockname longer than n characters.
  1518. The name of a block is too long and has been truncated.
  1519. TEACHER                                                   ERROR MESSAGES  33
  1520.  
  1521. The file is not a lesson.
  1522. Very likely, the initial TEACHER_DFILE is missing.
  1523.  
  1524. The file was not compiled with TCRComp.
  1525. Teacher  found  a  corrupt Lesson.Tcr file.  This error should only occur if
  1526. you change the contents of a .Tcr file - and I suggest you don't.
  1527.  
  1528. Too many blocks.
  1529. Teacher  can  read lessons long as much as 2000 blocks.  In a future version
  1530. this limit will cease to exist.  Anyway, I don't think you will ever need to
  1531. put more than 2000 blocks in a single lesson...
  1532.  
  1533. The block doesn't end correctly.
  1534. Either Teacher expects a @#% and doesn't find it, or it finds a @#% where it
  1535. doesn't expect it.
  1536.  
  1537. Too many exits.
  1538. In  a  Question  or Evaluation block, there are too many possible answers or
  1539. too many evaluation lines.
  1540.  
  1541. @#$ missing after score table.
  1542. Just add it.
  1543.  
  1544. I can't find the block "".
  1545. Teacher  wants  to jump to that block, but no such block exists.  Check that
  1546. the @#% lines are OK and delete empty lines between blocks.
  1547.  
  1548. Only one Author line allowed.
  1549. You wrote more than one Author line, or you put one outside the Introduction
  1550. Block.
  1551.  
  1552. With LogMode_None you *CANNOT* use the Log.
  1553. Teacher  found  in  the  same  lesson  a  LogMode  None  and a command which
  1554. activates  the  LogFile.  LogMode None permanently disables the LogFile - if
  1555. you just want to turn it off use LogMode OFF!
  1556.  
  1557. LogMode None must be a static command.
  1558. This  means it cannot be called from within a lesson with @#/.  LogMode None
  1559. must be in the introduction block or in the config file.
  1560.  
  1561. LogMode error: "" is not a valid sub-option.
  1562. After LogMode you must put one of the seven valid keywords mentioned before.
  1563.  
  1564. Override must be a .cfg command.
  1565. The  Override  command,  due  to  its  nature,  can  only  be  used  in  the
  1566. configuration file, "Teacher.cfg".
  1567.  
  1568. Time commands RESET, ELAPSED, TOTAL cannot be static.
  1569. That is, you must call them with a @#/.
  1570.  
  1571. Unknown Time command: ""
  1572. The Time commands are Elapsed, Total, Reset and Write.
  1573.  
  1574. Version must be a static command.
  1575. It  is a mistake to put Version outside the Introduction block or the Config
  1576. file.
  1577. TEACHER                                                   ERROR MESSAGES  34
  1578.  
  1579. This lesson requires at least Teacher version X.XX.
  1580. To know which version you are using, type TEACHER by itself.
  1581.  
  1582. Unknown external command: ""
  1583. This command does not exist.
  1584.  
  1585. I cannot read the compiled file.
  1586. A  compiled  (.Tcr)  file MUST exist in order to use the DECRYPT and COMPARE
  1587. commands.
  1588.  
  1589. I cannot access variable #
  1590. You used a variable out of the 0-63 range.
  1591.  
  1592. Unknown JumpMode: ''
  1593. After  JumpMode  you must put ONE of the following parameters:  Points, Rnd,
  1594. Random, Time, TTime, Var.
  1595.  
  1596. Wrong justification parameter.
  1597. You  used  a  negative  LeftMargin or tried to make the line shorter than 30
  1598. characters.
  1599.  
  1600. APPEND cannot be a static command.
  1601. You used Append in the configuration file or in the introduction block.
  1602. TEACHER                                                   ERROR MESSAGES  35
  1603.  
  1604. TCRCOMP ERRORS
  1605.  
  1606. Not enough memory.
  1607. The system's free memory is too little, or too scattered.
  1608.  
  1609. Blocks M and N have the same name.
  1610. Teacher  identifies  blocks  with  a  unique name; if it finds duplicates it
  1611. immediately stops.
  1612.  
  1613. Author's name missing.
  1614. The introduction block must contain an Author line.
  1615.  
  1616. Author "" is not registered.
  1617. Check that the name is spelt correctly or register yourself as an author.
  1618.  
  1619. I cannot write to the compiled file.
  1620. The  disk  where  TCRComp  must  write the compiled file is full, damaged or
  1621. write protected.
  1622.  
  1623. I cannot read the compiled file.
  1624. ...very likely because it doesn't exist.
  1625.  
  1626. The block calls itself.
  1627. This  is  a  fatal  error  in  Linear blocks, as in these cases it causes an
  1628. endless  loop.   If a question or evaluation block calls itself, the strange
  1629. event is reported, but it is not an error.
  1630.  
  1631. Block "" is never called.
  1632. If you planned your lesson correctly, you must have written too many @#%, or
  1633. misspelled the name of a block.
  1634.  
  1635. The lesson is neverending.
  1636. Unless  you  want the student to stay on the lesson for the rest of his life
  1637. and of all eternity, you must include at least a Terminal block.
  1638.  
  1639. Conditional sequence is too long.
  1640. In  a  Question  block,  a  conditional  sequence is longer than the maximum
  1641. number of answers the student may give.
  1642.  
  1643. Bad character in conditional sequence.
  1644. Conditional  sequences  can  contain  letters  ('A', 'B',...  as many as the
  1645. possible answers), '?' and '*'.  Any other character causes this error.
  1646.  
  1647. Duplicate answer in conditional sequence.
  1648. The same letter appears twice in the same conditional sequence.
  1649.  
  1650. '*' is not the last conditional sequence.
  1651. There are some conditional sequences after '*', but they will never be taken
  1652. into consideration by Teacher.
  1653.  
  1654. '*' conditional sequence missing.
  1655. It  is useful to use '*' as the last conditional sequence, as this stops the
  1656. program  from  crashing  if  the  student answers in an unforeseen way.  You
  1657. don't have to use this sequence, but you should - it's good for you.
  1658.  
  1659. TEACHER                                                   ERROR MESSAGES  36
  1660.  
  1661. Useless password/Missing password
  1662. When you ENCRYPT a file or DECRYPT a file you created with Encrypt, you must
  1663. supply  a  Password  (-pPwd);  in  all  other cases, you must not use the -p
  1664. option.
  1665.  
  1666. LOCK is impossible
  1667. You can use the LOCK option only with the ENCRYPT and PROTECT commands.
  1668.  
  1669. The file is neither protected nor encrypted
  1670. ...and you tried to DECRYPT it.
  1671.  
  1672. This file has been locked
  1673. You cannot decrypt a file which was created with the LOCK option.
  1674. TEACHER                                                       CONCLUSION  37
  1675.  
  1676.                                  CONCLUSION
  1677.  
  1678. This  is  the  end of Teacher's manual.  During its development, Teacher has
  1679. grown  enormously, but it can still be improved.  If you have any suggestion
  1680. to give me, or any bug to report (in this case, please be certain that it is
  1681. a bug of the PROGRAM and not of the lesson!) contact me at this address:
  1682.  
  1683.                             Teacher Development
  1684.                               c/o Paolo Gatti
  1685.                                via Boldori 17
  1686.                               26013 Crema (CR)
  1687.                                    ITALY
  1688.                         Phone number +39-373-201617
  1689.                         Fidonet address 2:331/203.1
  1690.                        Amiganet address 39:101/302.1
  1691.            Usenet address paolo.gatti@p1.f203.n331.z2.fidonet.org
  1692.  
  1693. Teacher  can  be  used  in  many  fields,  not  only at school.  It can help
  1694. teaching,  of  course.   It  is  its  first aim.  But Teacher can be used in
  1695. different  ways.   One is amusement:  I don't think it would be difficult to
  1696. write  an  adventure game with Teacher...  particularly now that Teacher has
  1697. got  60  available  variables  and  a  TimeOut feature.  You could use it to
  1698. prepare any kind of questionnaire as well.
  1699.  
  1700. Use  your imagination!  Teacher, after all, is a tool:  don't be afraid, use
  1701. it, experiment!
  1702.  
  1703. TEACHER                                                            INDEX  38
  1704.  
  1705. INDEX
  1706.  
  1707. External commands are marked (*); TcrComp commands are marked (@).
  1708.  
  1709. About...................@. 31         MulVar..................*. 25
  1710. AddMaxPoint.............*. 23         MulVars.................*. 26
  1711. AddPoint................*. 23
  1712. AddVar..................*. 23         Override................*. 23
  1713. AddVars.................*. 26
  1714. Append..................*. 25         Registration.............. 6-10
  1715. Ask.....................*. 22         Reset...................*. 25
  1716. Author..................*. 23         RightMargin.............*. 25
  1717.                                       RndVar..................*. 26
  1718. Basic Concepts............ 11
  1719. Block, Introduction....... 18, 28     SetVar..................*. 23
  1720. Block, Linear............. 13
  1721. Block, Question........... 14-16      Time, Elapsed...........*. 22
  1722. Block, Evaluation......... 17, 24     Time, Reset.............*. 22
  1723. Block, Terminal........... 13         Time, Total.............*. 22
  1724. Blocks, Logical........... 12         Time, Write.............*. 22
  1725.                                       TimeOut.................*. 24
  1726. Charset.................*. 25         TimeOutBlock............*. 24
  1727. Check...................@. 29
  1728. Commands, External........ 21-26      Version.................*. 21
  1729. Commands, Internal........ 19, 20
  1730. Compare.................@. 30         WaitMode................*. 24
  1731. Compile.................@. 30
  1732. Configuration File........ 28
  1733. CpyVar..................*. 26
  1734.  
  1735. Decrypt.................@. 31
  1736. DivVars.................*. 26
  1737.  
  1738. Echo....................*. 22
  1739. EchoName................*. 22
  1740. Encrypt.................@. 29
  1741. Error Messages............ 31-34
  1742.  
  1743. JumpMode................*. 24
  1744. Justify.................*. 25
  1745.  
  1746. LeftMargin..............*. 25
  1747. Lesson Structure.......... 18
  1748. Log....................... 27
  1749. LogMode.................*. 21
  1750. LogName.................*. 22
  1751.